using System;
using System.Data;
using System.ComponentModel;
using System.Reflection;
using System.Collections.Generic;

namespace VSSAHT.Transfer
{
	[Serializable]
	public class ItemDTOBase : DTOBase
	{
		#region Property ItemID

		private Guid _itemID;

		/// <summary>
		///  Property ItemID
		/// <summary>
		public Guid ItemID
		{
			get
			{
				return _itemID;
			}

			set
			{
				if (_itemID != value)
				{
					this.OnItemIDChanging(value);
					_itemID = value;
					this.OnItemIDChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property ItemName

		private string _itemName;

		/// <summary>
		///  Property ItemName
		/// <summary>
		public string ItemName
		{
			get
			{
				return _itemName;
			}

			set
			{
				if (_itemName != value)
				{
					this.OnItemNameChanging(value);
					_itemName = value;
					this.OnItemNameChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property ItemNumber

		private string _itemNumber;

		/// <summary>
		///  Property ItemNumber
		/// <summary>
		public string ItemNumber
		{
			get
			{
				return _itemNumber;
			}

			set
			{
				if (_itemNumber != value)
				{
					this.OnItemNumberChanging(value);
					_itemNumber = value;
					this.OnItemNumberChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property ItemUnit

		private string _itemUnit;

		/// <summary>
		///  Property ItemUnit
		/// <summary>
		public string ItemUnit
		{
			get
			{
				return _itemUnit;
			}

			set
			{
				if (_itemUnit != value)
				{
					this.OnItemUnitChanging(value);
					_itemUnit = value;
					this.OnItemUnitChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property ItemUnit2

		private string _itemUnit2;

		/// <summary>
		///  Property ItemUnit2
		/// <summary>
		public string ItemUnit2
		{
			get
			{
				return _itemUnit2;
			}

			set
			{
				if (_itemUnit2 != value)
				{
					this.OnItemUnit2Changing(value);
					_itemUnit2 = value;
					this.OnItemUnit2Changed();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property OnhandQuantity

		private decimal _onhandQuantity;

		/// <summary>
		///  Property OnhandQuantity
		/// <summary>
		public decimal OnhandQuantity
		{
			get
			{
				return _onhandQuantity;
			}

			set
			{
				if (_onhandQuantity != value)
				{
					this.OnOnhandQuantityChanging(value);
					_onhandQuantity = value;
					this.OnOnhandQuantityChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RowVersion

		private string _rowVersion;

		/// <summary>
		///  Property RowVersion
		/// <summary>
		public string RowVersion
		{
			get
			{
				return _rowVersion;
			}

			set
			{
				if (_rowVersion != value)
				{
					this.OnRowVersionChanging(value);
					_rowVersion = value;
					this.OnRowVersionChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Extensibility Method Declarations

		protected virtual void OnItemIDChanging(Guid itemID) { }
		protected virtual void OnItemIDChanged() { }
		protected virtual void OnItemNameChanging(string itemName) { }
		protected virtual void OnItemNameChanged() { }
		protected virtual void OnItemNumberChanging(string itemNumber) { }
		protected virtual void OnItemNumberChanged() { }
		protected virtual void OnItemUnitChanging(string itemUnit) { }
		protected virtual void OnItemUnitChanged() { }
		protected virtual void OnItemUnit2Changing(string itemUnit2) { }
		protected virtual void OnItemUnit2Changed() { }
		protected virtual void OnOnhandQuantityChanging(decimal onhandQuantity) { }
		protected virtual void OnOnhandQuantityChanged() { }
		protected virtual void OnRowVersionChanging(string rowVersion) { }
		protected virtual void OnRowVersionChanged() { }

		#endregion

	}
}
